package com.chen.posp.exception;

/**
 * 
 * Title: 运行时异常基类
 * Description: 
 * Copyright: Copyright (c)2010
 * Company: YeePay
 * @author yan.wang
 *
 */
public class BaseRuntimeException extends RuntimeException {
    
	private static final long serialVersionUID = 8960840438191344758L;

	protected String message;
    
    // 强制处理的Exception  必须catch 
    /*-----------------------------------------------------------*/
    public static String FLOWS_RULE_NOT_FOUND = "flows.rule.not.found";
    public static String FLOWS_RULE_NOT_UNIQUE = "flows.rule.not.unique";
    public static String FLOWS_RULE_NOT_ALLOW = "flows.rule.not.allow";
    public static String CASHACCOUNT_AMOUNT_INVALID = "account.amount.invalid";
    public static String CASHACCOUNT_BALANCE_NOT_ENOUGH = "account.balance.not.enough";
    public static String CASHACCOUNT_STATUS_INVALID = "account.status.invalid";
    public static String CASHACCOUNT_HAD_EXIST = "cashaccount.had.exist";
    public static String CASHACCOUNT_PROCESS_SYNCHRONIZE_CONFLICT  = "cashaccount.process.synchronize.conflict";
    public static String CARD_IS_NOT_EFFECT = "The system can not recognize the card type, replace the card type";
    public static String BANK_IS_NOT_FIND = "bank is not find";
    public static String OPERATOR_USERNAME_IS_NULL = "operator.username.is.null";
	public static String OPERATOR_PASSWORD_INVALID = "operator.password.invalid";
    public static String FRPREQUEST_NOT_NULL = "frprequest.not.null";
    public static String PAYMENT_NOT_NULL = "payment.not.null";

    
    public static String ORDER_AMOUNT_INVALID="order.amount.invalid";
    public static String ORDER_AMOUNT_NOTEQUAL_COREPLATEFORM="order.amount.coreplateform";
    public static String ORDER_STATUS_INVALID="order.status.invalid";
    public static String ORDER_IS_EXIST="order.is.exist";
    public static String CUSTOMER_UNEFFICIENT="customer.unefficient";
    public static String POS_UNEFFICIENT="pos.unefficient";
    public static String SECRET_KEY_ERROR="secret.key.error";
    
    public static String POS_DIRECT_RETURN_FAILE = "pos_direct_return_faile";
    public static String FRPINTERFACE_NOT_NULL = "frpinterface.not.null";
    
    public static String BANK_SETTLEMENTINFO_NOT_NULL = "bank.settlementinfo.not.null";
    
    //add by xin.jin
	public static String BOC_ACCOUNT_LENGTH_OVER="boc.account.length.over";
	public static String BOC_ACCOUNT_BE_NUMBER="boc.account.must.be.num";
	public static String BOC_AMOUNT_NOT_DOUBLE="boc.amount.not.double";
	public static String BOC_AMOUNT_FORMATRMB_ERROR="boc.amount.formatrmb.error";
	public static String BOC_TRANS_DATE_FORMAT_ERROR="boc.trans.date.format.error";
	public static String BOC_TRANS_DATE_NO_SUCH_FORMAT="boc.trans.date.no.such.format";
	public static String BOC_FIELD_LENGTH_ERROR="boc.field.length.error";
	public static String BOC_RES_FIELD_REQUIRED_ERROR="boc.res.field.required.error";
	public static String BOC_POS_ENTRY_MODE_ERROR="boc.pos.entry.mode.error";
	public static String BOC_POS_COND_MODE_ERROR="boc.pos.cond.mode.error";
	public static final String TRANS_TYPE_ERROR="trans.type.error";
	public static final String PROCESSING_CODE_ERROR="processing.code.error";
	public static final String CARD_ACCPTR_TERMNL_ID_ERROR="card.acceptor.terminal.id.error";
	public static final String CURRCY_CODE_TRANS_ERROR="currcy.code.trans.error";
	public static final String NATIONAL_NETWORK_ERROR="national.network.error";
	public static final String POS_COND_CODE="pos.cond.code.error";
	public static final String CARD_ACCPTR_ID_ERROR = "card.accptr.id.error";
	public static final String BOC_RESPONSE_CODE_ERROR="boc.response.code.error.response.code:";
	public static final String BOC_RESPONSE_CODE_NOT_DEFINED = "boc.response.code.not.defined";
	public static final String BOC_AUTHR_ID_RESP_NOT_MATCH = "boc.authr.id.resp.not.match";
	public static final String BOC_ORG_MTI="boc.org.mti.error";
	public static final String BOC_TRACK2DATA_NOT_NULL="boc.track2data.not.null"; //35域二磁道
	public static final String ABCSZ_TRACK2DATA_NOT_NULL = "abc.sz.track2data.not.null";
	public static final String CEB_TRACK2DATA_NOT_NULL = "ceb.track2data.not.null";
	public static final String CEB_ORDER_EXTERNALID_NOT_NULL ="ceb.order.externalid.not.null";//订单号不能为空,作为请求37域上送银行
	public static final String CEB_ORG_ORDER_NOT_NULL = "ceb.org.order.not.null";//原交易的订单不能为空
	public static final String CEB_TKEY_NOT_NULL ="ceb.tkey.not.null";//数据库里保存的交易密钥不能为空,用来确定交易53域值
	public static final String CEB_REQ_ERROR = "ceb.req.error";//需要响应银行失败
	public static final String BOC_AUTHRIDRESP_NOT_NULL="boc.authridresp.not.null";//38原消费交易授权号
	public static String BANK_ACCOUNT_LENGTH_OVER="bank.account.length.over";
	public static String BANK_ACCOUNT_BE_NUMBER="bank.account.must.be.num";
	
	
	public static final String BOC_TARNS_NENTWORK_SOCKET_ERROR="boc.trans.network.socket.error";
	public static final String BOC_TRANS_NETWORK_SOCKET_OUTPUTSTREAM_ERROR="boc.trans.network.socket.outputstream.error";
	public static final String BOC_TRANS_NETWORK_SOCKET_INPUTSTREAM_ERROR="boc.trans.network.socket.inputstream.error";

	public static final String ENPCRYPTNODE_NOT_NULL = "9002011 bank node name is not null";

	
    public static String POS_TRX_NO_USEBANKINTERFACE = "pos.trx.no.usebankinterface"; 
    public static String POS_TRX_BANK_INACTIVE = "pos.trx.bank.inactive"; 
    public static String REFUND_FAILED = "refund.failed"; 
    public static String NOT_SO_MUCH_MONEY_BACK = "not.so.much.money.back"; 
    public static String THE_ORIGINAL_ORDER_DOES_NOT_EXIST = "the.original.order.does.not.exist";
    public static String SEND_REQUEST_BOC_ERROR = "send.request.boc.error";
    public static String SEND_REQUEST_CEB_ERROR = "send.request.ceb.error";
    public static String BOC_NEED_REVERSAL_ERROR = "boc.need.reversal.error";
    public static String CEB_NEED_REVERSAL_ERROR = "ceb.need.reversal.error";
    public static String BANK_NEED_REVERSAL="bank.need.reversal";
    public static String REFUND_FAIL = "refund.fail";
    public static String TRANS_FAILED = "trans.failed";
    public static String BOC_RE_SIGNIN = "boc.re.signin";
    public static String BANK_RE_SIGNIN = "bank.re.signin";
    
    //bociso8583exception
    public static String FIELD_NOT_DEFINED_IN_8583="the.field.not.define.invalid.8583.field.id";   
    public static String ERROR_ITEM_OUT_OF_RANGE_INVALID_8583_FIELD="item.out.of.range.invalid.8583.field";
    public static String ERROR_ITEM_DATA_LONGER_THAN_DEFINED_IN_8583="item.data.longer.than.defined.in.8583"; 
    public static String ERROR_ITEM_DATA_TYPE="item.data.type.error";    
    public static String ERROR_RESPONSE_ITEM_CERTIFIED_VERSION="response.item.certified.version.error";   
    public static String ERROR_RESPONSE_ITEM_MESSAGETYPE_LENGTH_SHORTER="response.item.messagetype.length.shorter.than.defined"; 
    public static String ERROR_RESPONSE_ITEM_MESSAGETYPE_CONTENT_ERROR="response.item.messagetype.content.error"; 
    public static String ERROR_DATA_LEN_LESS_THAN_BITMAP_LEN="response.data.len.less.than.bitmap.len";
    public static String ERROR_ITEM_DATA_LEN_TYPE_NOT_DEFINED="item.data.len.type.not.defined";
    public static String ERROR_ITEM_TYPE_NOT_MATCHED_WITH_DEFINED="item.type.not.matched.with.defined"; 
    public static String ERROR_DECODING_LEN_NOT_EQUAL_PACKAGE_LEN="error.decoding.len.not.equal.package.len"; 
    public static String BOC_RESPONSE_REQUIRED_FIELD_CHECK_FAILED="boc.response.required.field.check.failed"; 
    public static String BOC_RESPONSE_UNION_PAY_PARAM_CONVERT_ERROR="boc.response.union.pay.param.convert.error"; 
  	public static String BOC_GENERATEMAC_ERROR="boc.generatemac.error"; 
    public static String BANK_GENERATEMAC_ERROR="bank.generatemac.error"; 
    public static String CEB_GENERATEMAC_ERROR="ceb.generatemac.error";
    public static String CEB_TRACK2_PIN_ERROR = "ceb.track2.pin.error";
    //hessian exception
    public static String HESSIAN_CREATE_FAILED="create.hessian.failed.can.not.connect.to.front.end.computer";
    public static String HESSIAN_IO_EXCEPTION="hessian.io.exception.please.send.reversal.request";
    //SecretKeyException
    public static String SECRET_KEY_EXCEPTION="secret.key.exception";
    //Convert 8583 to UnionPayParam
    public static String CONVERT_8583_TO_UNIONPAYPARAM="convert.from.8583.to.unionpayparam.error";
    //check res fields 
    public static String BOC_RES_REQUIRED_FIELDS_CHECK_ERROR="boc.res.required.fields.check.error";
    
    public static String BOC_TRANSACTION_IS_ERROR="boc.transaction.is.error";
    /*-----------------------------------------------------------*/
    
    // 不需要强制处理的Exception
    /*-----------------------------------------------------------*/
    public static String OPERATOR_NOT_NULL="operator.not.null";
    public static String OPERATOR_ID_IS_NULL="operator.id.is.null";
    public static String SHOP_IS_VALIDATE = "shop.is.null";
    public static String CARDINFO_NOT_NULL="cardinfo.not.null";
    
    public static String SETTLEMENTINFO_NOT_NULL="SettlementInfo.not.null";
    public static String POSTRXREQUEST_NOT_NULL="postrxrequest.not.null";
    public static String POS_NOT_NULL = "pos.not.null";
    public static String POS_TRX_NOT_ALLOW="pos.trx.not.allow";
    public static String CUSTOMER_NOT_NULL = "customer.not.null";
    public static String CUSTOMER_INDUSTRY_NOT_NULL="customer.industry.not.null";
    public static String ORDER_NOT_NULL="order.not.null";
    public static String ORDER_NOT_EXIST="order.not.exist";
    public static String PAYMENT_NOT_EXIST="payment.not.exist";
    public static String PAYMENT_IS_VALIDATE="payment.is.validate";
    public static String ORDER_COMPLETE_NOT_ALLOW="order.complete.not.allow";
    public static String OPERATOR_NOT_EXIST="operator.not.exist";
    public static String OPERATOR_USERNAME_PASSWORD_IS_VALIDATE="operator.not.null";
    public static String VERIFYCODEIS_IS_VALIDATE="operator.validate.wrong";
    public static String OLD_AND_NEWPASSWORD_IS_VALIDATE="pwd.different";
    public static String OLDPASSWORD_IS_VALIDATE="operator.oldpassword.wrong";
    public static String OPERATOR_IS_EXIST="operator.is.exist";
    public static String ORDER_HAS_SETTLED="order.has.settled";
    public static String FRPREQUEST_IS_NOT_EXIST="request.is.not.exist";
    public static String PAYMENT_IS_NOT_EXIST="payment.is.not.exist";
    public static String BANK_CAN_NOT="bank can not";
    public static String BOCTRANS_IS_ERROR="BOCTrans.is.error";
    public static String PURCHASEREFUND_TO_BANK_IS_FAIL="purchaseRefund.to.bank.is.fail";
    public static String ORDERREFUNDREQUEST_NOT_NULL="orderrefundrequest.not.null";
    public static String ACQBANK_IS_NULL="acqBank.is.null";
    public static String BANKACCEPT_IS_NULL="bankAccept.is.null";
    public static String CREDITCARDVERIFYINFO_NOT_NULL="creditcardverifyinfo.not.null"; 
    public static String FRPINTERFACEDISPATCHER_NOT_NULL="frpInterfaceDispatcher.not.null";
    public static String LIMITCONFIG_NOT_NULL="limitconfig.not.null";
    public static  String ERROR_ICBC_RES_DATA_LEN_ERROR="error.icbc.data.len.error";
    public static String CUSTOMER_CARDTYPE_INVALID = "customer.cardtype.invalid";
    public static String CUSTOMERFEERULE_NOT_NULL="customerfeerule.not.null";
    public static String REFUNDINFO_NOT_NULL = "refundinfo.not.null";
    
    
    public static String CARD_IS_INVALID="card.is.invalid";
    public static String AMOUNT_IS_INVALID="amount.is.invalid";
    public static String COREPLATEFORM_ORDER_PAY="coreplateform.order.pay";
    public static String COREPLATEFORM_ORDER_NOT_NULL="coreplateform.order.not.null";
    
    
    
    public static String INDUSTRYFUNCTION_FUNCTION_NOT_NULL="industryfunction.function.not.null";
    public static String INDUSTRYFUNCTION_NOT_NULL="industryfunction.not.null"; 
    public static  String OPERATORLOG_NOT_NULL = "operatorlog.not.null";
    public static String ORGANIZATION_NOT_NULLOR="organization.not.null";
    public static String ERROR_ITEM_NOT_DEFINED = "error.item.not.defined"; 
    public static String ERROR_ITEM_OUT_OF_RANGE = "error.item.out.of.range";
    public static String ERROR_ITEM_DATA_TOO_LONG = "error.item.data.too.long";
    public static String ERROR_ITEM_DATA_TYPE_ERROR ="error.item.data.type.error";
    public static String ERROR_PARSE_ITEM_LENGTH = "error.parse.item.length";
    public static String ERROR_RESPONSE_ITEM_LENGTH = "error.response.item.length";
    public static String ERROR_RESPONSE_ITEM_TPUD = "error.response.item.tpud";    
    public static String ERROR_RESPONSE_ITEM_VERSION = "error.response.item.version";    
    public static String ERROR_RESPONSE_ITEM_MESSAGETYPELEN = "error.response.item.messagetypelen";  
    public static String ERROR_RESPONSE_ITEM_MESSAGETYPE = "error.response.item.messagetype";  
    public static String ERROR_RESPONSE_ITEM_MESSAGELEN = "error.response.item.messagelen"; 
    public static String NOTIFY_PLATFORM_FAIL="notify.platform.fail";
    public static String NOTIFY_COD_FAIL="notify.cod.fail";
    public static String NOTIFY_PLATFORM_CREATEPAYMENT_FAIL="notify.platform.createpayment.fail";
    public static String NOTIFY_PREPAIDCARD_FAIL="notify.prepaidcard.fail";
    public static String SUCCESS_ORDER_ERROR_PARSE_ITEM_LENGTH = "success.order.error.parse.item.length";
    
	public static String CCB_FIELD_LENGTH_ERROR="ccb.field.length.error";
    public static String SEND_REQUEST_CCB_ERROR = "send.request.ccb.error"; 
    public static String CCB_NEED_REVERSAL_ERROR = "ccb.need.reversal.error";
	public static String CCB_ACCOUNT_LENGTH_OVER="ccb.account.length.over";
	public static String CCB_ACCOUNT_BE_NUMBER="ccb.account.must.be.num";
	public static String CCB_TRACK2DATA_NOT_NULL="ccb.track2data.not.null"; //35域二磁道
	public static String CCB_RETRIVLREFNUM_NOT_NULL="ccb.retrivlrefnum.not.null";//37原系统参考号
    public static String BANK_NEED_REVERSAL_ERROR = "bank.need.reversal.error";
    public static String SEND_REQUEST_BANK_ERROR = "send.request.bank.error";
    
    
    public static String BCM_QD_FIELD_LENGTH_ERROR="bcmqd.field.length.error";
    public static String SEND_REQUEST_BCM_QD_ERROR = "send.request.bcmqd.error";
    public static String BCM_QD_NEED_REVERSAL_ERROR = "bcmqd.need.reversal.error";
    public static String BCM_QD_ACCOUNT_LENGTH_OVER="bcmqd.account.length.over";
    public static String BCM_QD_ACCOUNT_BE_NUMBER="bcmqd.account.must.be.num";
    public static String BCM_QD_TRACK2DATA_NOT_NULL="bcmqd.track2data.not.null";
    public static String BCM_QD_RETRIVLREFNUM_NOT_NULL="bcmqd.retrivlrefnum.not.null";//37原系统参考号
    
    
	//ICBC Exception
	public static  String ERROR_ITEM_DATA_LONGER_THAN_DEFINED_IN_ITEM="icbc.item.len.over";
	public static  String ERROR_ICBC_FIELD_LEN_OVER="error.icbc.field.len.over";
	public static  String ERROR_ICBC_TRANS_NOT_DEFINED = "error.icbc.trans.not.defined";
	public static  String ERROR_XML_CONVERT_TO_STR_DOCUMENT_BLANK = "error.icbc.xml.convert.to.str.document.blank";
	public static  String ERROR_XML_CONVERT_TO_STR_TRANSFORMERCONFIGURATIONEXCEPTION = "error.xml.convert.to.str.transformerconfigurationexception";
	public static  String ERROR_XML_CONVERT_TO_STR_TRANSFORMEREXCEPTION = "error.xml.convert.to.str.transformerexception";
	public static  String ERROR_ICBC_ENCODING_TRANS_TYPE_CAN_NOT_RESOLVED = "error.icbc.encoding.trans.type.can.not.resolved";
	public static  String ERROR_ICBC_REQUIRED_FIELD_VALUE_CAN_NOT_BE_NULL="error.icbc.required.field.value.can.not.be.null";
	public static  String ERROR_ICBC_TRANS_TYPE_NOT_DEFINED = "error.icbc.trans.type.not.defined";
    public static  String ERROR_ICBC_CAN_NOT_RESOLOVED_TO_TYPE_ICBCBEAN="error.icbc.can.not.resoloved.to.type.icbcbean";
    public static  String ERROR_ICBC_CAN_NOT_RESOLOVED_TO_TYPE_UNIONPAYPARAM="error.icbc.can.not.resoloved.to.type.unionpayparam";
    public static  String ERROR_ICBC_STRING_GBK_UNSPPORTED="error.icbc.package.body.org.string.encoding.gbk.not.supported.in.method.add.right.blank";
    public static  String ERROR_ICBC_SEND_2_ICBC_ERROR="error.icbc.send.2.icbc.error";
    public static  String ERROR_ICBC_CAN_NOT_RESOLOVED_TO_METHOD_WHILE_BUILDING_XML="error.icbc.can.not.resoloved.to.method.while.building.xml";
    public static  String ERROR_ICBC_CAN_NOT_RESOLOVED_TO_METHOD_WHILE_CONVERT_2_ICBCBEAN="error.icbc.can.not.resoloved.to.method.while.convert2icbcbean";
    public static  String ERROR_ICBC_ILLEGALACCESSEXCEPTION_WHILE_INVOKE_METHOD="error.icbc.illegalaccessexception.while.invoke.method";
    public static  String ERROR_ICBC_INVOCATIONTARGETEXCEPTION_WHILE_INVOKE_METHOD="error.icbc.invocation.target.exception.while.invoke.method";
    public static  String ERROR_ICBC_RES_CONVERT_FROM_STRING_TO_OBJECT_WHILE_STRING_TO_DOC="error.icbc.res.convert.from.string.to.object.occures.in.method.named.string.to.doc";
    public static  String ERROR_ICBC_RES_CONVERT_FROM_STRING_TO_OBJECT_PARSER_CONFIGURATION_EXCEPTION="error.icbc.res.convert.from.string.to.object.parser.configuration.exception";
    public static  String ERROR_ICBC_RES_CONVERT_FROM_STRING_TO_OBJECT_SAX_EXCEPTION="error.icbc.res.convert.from.string.to.object.sax.exception";
    public static  String ERROR_ICBC_RES_CONVERT_FROM_STRING_TO_OBJECT_IO_EXCEPTION="error.icbc.res.convert.from.string.to.object.io.exception";
    public static  String ERROR_ICBC_GET_CLEAR_PIN_FAILED_SECRET_KEY_EXCEPTION="error.icbc.get.clear.pin.failed.secret.key.exception";
    public static  String ERROR_ICBC_FORMAT_DATE_FOR_POS_ERROR="error.icbc.format.date.for.pos.error";
    public static String MERCHANT_IS_INVALID="merchant.is.invalid";
    public static String ERROR_ICBC_FORMAT_BALANCE_FOR_POS_ACCOUNT_TYPE="error.icbc.format.balance.for.pos.account.type";
    public static String ERROR_ICBC_STR_TO_DOCUMENT_NULL="error.icbc.str.to.document.null";
    public static String ICBC_RE_SIGNON="icbc.re.signon";
    public static String ICBC_NEED_SIGNON="icbc.need.signon";
    public static String FRPINTERFACEDETAIL_NOT_NULL = "frpInterfaceDetail.not.null";
    public static String FRPINTERFACEDETAIL_ARGS_NOT_NULL = "frpInterfaceDetail.args.not.null";

	public static String SHOP_NOT_NULL = "shop.not.null";
	public static String PROVINCE_NOT_NULL = "province.not.null";
	public static String CITY_NOT_NULL = "city.not.null";
	public static String INDUSTRY_NOT_NULL = "industry.not.null";
	public static String DOUBTFULTRXRECORD_NOT_NULL = "doubtfultrxrecordnot.null";
	public static String POSFRPINTERFACE_NOT_NULL="posfrpinterface.not.null";
	public static String POSMANUFACTURER_NOT_NULL = "posManufacturer.not.null";
	

	public static String DICTIONARY_NOT_NULL="dictionary.not.null" ;
	public static String DICTIONARY_DICTNAME_NOT_NULL="dictionary.dictname.not.null" ;
	public static String DICTIONARY_DICTID_NOT_NULL="dictionary.dictid.not.null" ;
	
	public static String DICTIONARYTYPE_NOT_NULL="dictionarytype.not.null" ;
	public static String FRPINDUSTRYCONFIG_NOT_NULL="frpindustryconfig.not.null" ;
	
	/*CustomerFrpConfigExceptionMessage_Part*/
	public static String  CUSTOMERFRPCONFIG_NOT_NULL="customerfrpconfig.not.null"; 
	public static String  CARDVERIFYWARN_NOT_NULL="cardverifywarn.not.null"; 
	
	public static String TRXMONITORRESULT_NOT_NULL="trxmonitorresult.not.null";
	
	public static String POSEVENT_NOT_NULL="posevent.not.null";
	
	public static String ICBCSX_NEED_RESERVAL = "icbcsx.need.reversal";
	public static String ICBCSX_GENERATEMAC_ERROR = "icbcsx.generatemac.error";
	public static String ICBCSX_RESIGNON_ERROR = "icbcsx.need.resignon.error";
	
	/*PosVersionManageException_Part*/
	public static String FORCE_DUPDATE_FLAG_ERROR = "forcedUpdateFlag.required. 0 or 1";
	public static String RULES_OVER = "more.than.2.rules.found.under.given.rulelevel";
	public static String RULES_2_CONFILCTED = "2.rules.in.given.rulelevel.confilcted";
	public static String TASK_STATUS_UNRECOGNIZED = "task.status.unrecognized";
	public static String TASK_STATUS_CONFILCTED = "task.status.confilicted";
	
	public static String CUSTOMERORDERFEE_NOT_NULL = "customerorderfee.not.null";
	public static String PREPAYSPLITRULE_IS_NULL="prepaysplitrule.is.null";
	public static String AGENTCUSTOMERRELATED_IS_NULL = "agentcustomerrelated.is.null";
	public static String CUSTOMER_PROFILE_NOT_NULL = "customerprofile.not.null";
	
	public static String MERCHANTPOSREQUEST_IS_NULL="merchantposrequest.is.null";
	public static String MERCHANTORDER_IS_NULL="merchantorder.is.null";
	public static String UNIONPAY_GENERATEMAC_ERROR="merchantorder.is.null";
	public static String UNIONPAY_NEED_REVERSAL_ERROR="merchantorder.is.null";
	public static String UNIONPAY_TRACK2DATA_NOT_NULL="merchantorder.is.null";
	public static String UNIONPAY_REQ_ERROR="unionpay.req.error";
    public BaseRuntimeException(String msg) {
        super(msg);
        message =msg;
    }

    public BaseRuntimeException(String msg, Throwable ex) {
        super(msg, ex);
        message =msg;
    }
    public BaseRuntimeException(Throwable ex){
        super("",ex);
    }
    
    public String toString() {
        String str = super.toString();
        return str + "[" + message + "]";
    }

    public String getMessage() {
        return message;
    }
}
